使用 bind 来搭建 DNS 服务,首先安装 bind
备份配置文件
把默认配置文件清空,然后自定义配置
1 2
| [root@192 ~] [root@192 ~]
|
加入如下配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; };
|
保存配置后,修改其属主
1 2
| [root@192 ~] [root@192 ~]
|
定义根域配置文件,没有 dig 命令先安装
然后定义本地域配置
加入如下内容
1 2 3 4 5 6 7 8 9
| @ IN SOA localhost. admin.localhost. ( 2017041101 1H 10M 7D 1D ) @ IN NS localhost. localhost. IN A 127.0.0.1
|
再定以泛解析配置
加入如下内容
1 2 3 4 5 6 7 8 9 10
| $TTL 86400 @ IN SOA localhost. admin.localhost. ( 2017041101 1H 10M 7D 1D ) @ IN NS localhost. 1 IN PTR localhost
|
检测配置是否有问题
检测正解析
1 2 3 4
| [root@192 named] /var/named/localhost.zone:2: no TTL specified; using SOA MINTTL instead zone localhost/IN: loaded serial 2017041101 OK
|
检测反解析
1 2 3
| [root@192 named] zone 0.0.127.in-addr.arpa/IN: loaded serial 2017041101 OK
|
生成 rndc.key ,如果没有这个 key , named 是启动不了的。
1 2 3
| [root@192 named] wrote key file "/etc/rndc.key" [root@192 named]
|
启动 named 服务
1 2
| [root@192 named] 启动 named: [确定]
|
查看是否有 53 端口
首先测试正向解析
接着测试反解析
现在只是建立了一个本地的域 localhost ,下面增加一个域名(zone)
增加如下内容
1 2 3 4 5 6 7 8
| zone "123.com" IN { type master; file "123.com.zone"; }; zone "137.168.192.in-addr.arpa" IN { type master; file "192.168.zone"; };
|
检测是否有问题
编辑 zone 文件
检测是否出错
1 2 3
| [root@192 named] zone 123.com/IN: loaded serial 2017041101 OK
|
编辑反解析文件
写入如下内容
1 2 3 4 5 6 7 8 9 10 11 12
| $TTL 600 @ IN SOA ns.123.com. root.123.com. ( 2017041101 1H 10M 7D 1D ) @ IN NS ns.123.com. 10 IN PTR ns.123.com. 11 IN PTR mail.123.com. 73 IN PTR www.123.com.
|
检测是否出错
1 2 3
| [root@192 named] zone 137.168.192.in-addr.arpa/IN: loaded serial 2017041101 OK
|
重启 named 服务
1 2 3
| [root@192 named] 停止 named:. [确定] 启动 named: [确定]
|
测试
123.com 的域配置好后,要想使用它必须把系统里面的 DNS 服务器 IP 设定为这台机器的 IP ,但是这样也会带来一个问题,它只能解析 123.com 的域名,其他域名不能解析,这时候需要给它配置 DNS 转发。
在 options{} 里面增加
1 2
| forward first; forwarders {8.8.8.8;};
|
这两行就是用来配置转发的,该 DNS 服务器不能解析的域名会转发到 8.8.8.8 这个 DNS 服务器上去解析。
任何服务器都有可能因为某些原因导致不能正常提供服务,所以有必要为 DNS 服务器配置一个备用的,但是这两台服务器需要保证数据的一直性,比如更改主上配置把 www.123.com 解析 IP 更改了,那么备用服务器上也得跟着自动变。
下面就是配置主从,首先在从服务器上安装 bind
然后拷贝主上的配置文件到从上,这里主服务器 192.168.0.73 ,从服务器 192.168.0.74
以下操作在主服务器上
1 2 3 4
| [root@192 named] [root@192 named] [root@192 named] [root@192 named]
|
从服务器上,拷贝过来后,修改一下 /etc/named.conf
修改为
从上生成 rndc.key
1 2 3
| [root@KVM ~] wrote key file "/etc/rndc.key" [root@KVM ~]
|
从上启动 named
1 2
| [root@KVM ~] 启动 named: [确定]
|
启动成功后会在 /var/named 下生成一个 slaves 目录,这个目录下会有 192.168.zone 和 123.com.zone 这两个文件,内容是和主上的一样的。
然后在从上测试是否可以解析
下面测试主从同步
在主 dns 上更改文件
在最后一行增加
另外需要修改一下 第三行的那个数字串,这个是用来做标记的,只有这个数字变化了,才可以一让从自动跟着变,数字只能是变大,不能减小, 把 2017041101 改成 2017041102
重启主 named 服务
1 2 3
| [root@192 named] 停止 named:. [确定] 启动 named: [确定]
|
经测试发现一个问题:就是从经常会同步特别慢,这是很要命的。所有需要做一个特殊操作,在主上的 /etc/named.conf 中,123.com 的zone 中增加两行:
1 2
| notify yes; also-notify {192.168.0.74;};
|